Die Vier Freiheiten:
Verstehen: die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen
Verbessern: das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben

Distributionen stellen Softwarearchive bereit → Paketquellen
Verschiedene Distributionen benutzen verschiedene Arten Pakete zu bauen → Paketsysteme
Oft sind Pakete kryptographisch signiert
Paketquellen bearbeiten
~$ less /etc/apt/sources.list
Paketinformationen neu laden
~$ sudo apt-get update
zum Installieren vormerken
~$ sudo apt-get install ...
~$ apt-cache search ...~$ apt-cache show ...Updates
~$ sudo apt-get upgrade~$ sudo apt-get dist-upgradePakete entfernen
~$ sudo apt-get remove ...~$ sudo apt-get autoremoveArch GNU Linux
pacman -Ss ...; pacman -S ...; pacman -R ...Gentoo
emerge --sync; emerge --search ...; emerge ...Fedora/RedHat
dnf search ...; dnf install ...; dnf remove ...Andere
Selbst "Maintainer" sein ...
Authoren stellen Quellcode häufig über Versionsverwaltung bereit
Software muss in Maschinencode übersetzt werden
IdR. wird der Prozess vereinfacht durch Buildautomatisierung
~$ git clone git clone https://git.ffmpeg.org/ffmpeg.git~$ cd ffmpeg~$ ./configure~$ make~$ sudo make install~$ mkdir newsystemmount /dev/sdx1 newsystem/~$ mkdir newsystem/bin~$ cp /bin/busybox newsystem/bin~$ newsystem/bin/busybox --install newsystem/bin~$ sudo chroot newsystem /bin/sh